package com.sunyur.tailor.channel.web.outer.project.dto;

import com.alibaba.fastjson.JSONObject;
import lombok.Data;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.io.Serializable;
import java.util.Date;

/**
 * @Author: rongniu 
 * @Description: 批量同步项目台账入参实体
 * @Date: 2021/8/16 9:42
 * @Param:  
 * @return:  
 **/
@Data
public class BatchSyncProjectDTO implements Serializable {

    @NotEmpty(message = "项目编号不能为空")
    @Size(max = 50, message = "项目编号长度不能超过50")
    private String projectCode;

    @NotEmpty(message = "项目名称不能为空")
    @Size(max = 50, message = "项目名称长度不能超过50")
    private String projectName;

    @Size(max = 1000, message = "项目描述长度不能超过1000")
    private String projectDescription;

    @Size(max = 20, message = "项目类型代码长度不能超过20")
    private String projectTypeOutsideCode;

    @Size(max = 50, message = "上级项目编号长度不能超过50")
    private String parentProjectCode;

    @Size(max = 45, message = "公司主体编号长度不能超过45")
    private String companyCode;

    /**
     * 项目起始日期
     */
    private Date beginDate;

    /**
     * 项目截止日期
     */
    private Date endDate;

    @NotNull(message = "是否子项目不能为空")
    private Boolean isChild;

    /**
     * 项目成员（只能有一个项目经理）
     *
     * 0：普通成员 1：项目经理
     */
    private JSONObject members;
}
